//ADC控制模块

module ad9481(

	input		wire				clk,				//采样时钟
	input		wire				ret_n,			//复位信号
	input		wire				clk_a,			//输入时钟A
	input		wire				clk_b,			//输入时钟B
	input		wire	[7:0]		data_a,			//输入数据A
	input		wire	[7:0]		data_b,			//输入数据B
	
	output	reg	[7:0]		data_sine,		//处理后输出数据
	output	wire				pnd,				//ADC模块掉电操作，高电平掉电
	output	wire				adc_clk			//ADC采样时钟
	
);


	//对变量进行定义
	reg	[7:0]		data_a_reg;			//数据寄存信号
	reg	[7:0]		data_b_reg;			//数据寄存信号
	wire	[7:0]		data_sine_reg;		//同步输出数据
	
	
	
	
	//对数据缓存信号A进行编写
	always @(posedge clk_b or negedge ret_n)
		if(!ret_n)
			data_a_reg <= 8'd0;
		else 
			data_a_reg <= data_a;
			
	//对数据缓存信号B进行编写
	always @(posedge clk_a or negedge ret_n)
		if(!ret_n)
			data_b_reg <= 8'd0;
		else 
			data_b_reg <= data_b;
			

	//对输入的数据进行提取
	assign data_sine_reg = (clk_a == 1'b1)?		data_b_reg : data_a_reg;
			
	
	//对处理后输出数据进行编写
	always @(posedge clk or negedge ret_n)
		if(!ret_n)
			data_sine <= 8'd0;
		else 
			data_sine <= data_sine_reg;
			
	
	//对ADC掉电操作信号进行编写
	assign pnd = 1'b0;
			
		
	//对ADC采样时钟进行编写
	assign adc_clk = clk;
		
	

endmodule 




























